package com.swak.devtools.apidoc.parse;

import java.util.List;
import java.util.Set;

import com.swak.utils.Lists;

import lombok.Data;
import lombok.ToString;

@Data
@ToString
public class ApiMethod {

	/**
	 * 方法名称
	 */
	private String name;

	/**
	 * 方法签名
	 */
	private String signature;

	/**
	 * 模块
	 */
	private String apiName;
	
	/**
	 * 模块
	 */
	private String apiModule;

	/**
	 * 描述
	 */
	private String apiDescribe;

	/**
	 * 请求的方法
	 */
	private String apiRequestMethod;

	/**
	 * 请求的路径
	 */
	private Set<String> apiRequestPaths;

	/**
	 * 请求 Content-Type
	 */
	private String apiRequestContentType;

	/**
	 * 是否异步方法
	 */
	private Boolean async;

	/**
	 * 响应 Content-Type
	 */
	private String apiResponseContentType;

	/**
	 * 样例
	 */
	private String apiExample;

	/**
	 * 方法的参数
	 */
	private List<ApiParam> apiParams;

	/**
	 * 返回值
	 */
	private ApiClass apiReturn;

	public ApiMethod addParam(ApiParam param) {
		if (apiParams == null) {
			apiParams = Lists.newArrayList();
		}
		apiParams.add(param);
		return this;
	}
}